package idv.jieh.commons.util;

import java.util.*;

/**
 * <p>Title: 藍色小惡魔的系統</p>
 *
 * <p>Description:
 * 我們可以使用這個物件依據等級來存放或取出物件，<code>PriorityQueueMap</code>
 * 提供搜尋的功能，所以限定放入的物件必須是 <code>Map</code> 型態。
 * </p>
 *
 * <p>Copyright: Copyright (c) 2005</p>
 *
 * <p>Company: BlueImp</p>
 *
 * @author Jieh
 * @version 1.0
 */
public class PriorityQueueMap {

  private PriorityQueue queue;

  /**
   * 建構一個內定的 <code>PriorityQueue</code>，內定等級為 10。
   */
  public PriorityQueueMap(){
    queue = new PriorityQueue();
  }

  /**
   * 這是可以改變等級的建構子，內定值是 10。
   * @param count 最高等級。
   */
  public PriorityQueueMap(int count) {
    queue = new PriorityQueue(null, count);
  }

  /**
   * 新增一個物件到 PriorityQueue，並且指定這個物件在 PriorityQueue 內的
   * 等級。
   * @param map 要被裝載的物件。
   * @param priority 指定物件的等級。
   */
  public void insert(Map map, int priority){
    queue.insert(map, priority);
  }

  public void search(String search_key){
    //Vector vct = new Vector();
    Iterator itr = queue.iterator();
    while(itr.hasNext()){
      Map map = (Map)itr.next();
      Set<String> keys = map.keySet();
      for(String key : keys){

      }
    }
  }

  public static void main(String... args){
    //Vector vct = new Vector();
    HashMap map = new HashMap<String, String>();

    map.put("A", "A");
    map.put("B", "");
    map.put("C", "");
    map.put("D", "");
    map.put("E", "");
    map.put("F", "");

    System.out.println(map.keySet());
    System.out.println(map.entrySet());
    //PriorityQueueMap me = new PriorityQueueMap();
  }

}// end class PriorityQueueMap
